#ifndef AI_MANAGER_H
#define AI_MANAGER_H

#include "Singleton.h"
#include <map>

namespace Engine
{
	class Agent;

	typedef std::map <unsigned int, Agent*> AgentMap;

	class AIManager : public NonCopyable
	{
		private:
			friend class Singleton <AIManager>;
			AIManager(){}

			AgentMap m_map;

		public:
			void RegisterAIAgent(Agent* agent);
			void UnregisterAIAgent(unsigned int id);
			AgentMap* GetAgentMap() {return &m_map;}
	};

	typedef Singleton <AIManager> TheAIManager;
}

#endif
